package org.openfantasia.ps.modifier.behaviors;

import org.openfantasia.ps.particle.Particle;

/**
 * @author Ken Scott
 */
public interface Condition {

	public boolean isActive(Particle particle, Object param);


	public Condition copy();


	public static final Condition ALWAYS = new Condition() {
		public boolean isActive(Particle particle, Object param) {
			return true;
		}


		public Condition copy() {
			return ALWAYS;
		}
	};

	public static final Condition NEVER = new Condition() {
		public boolean isActive(Particle particle, Object param) {
			return false;
		}


		public Condition copy() {
			return NEVER;
		}

	};
}
